package com.jrx.anytxn.customer.bean;

import com.jrx.anytxn.customer.dto.customer.CustomerSupplyReq;

import com.jrx.anytxn.customer.entity.CmCustomerAddressInfo;
import com.jrx.anytxn.customer.entity.CmCustomerContactInfo;
import com.jrx.anytxn.customer.entity.CmCustomerFirstLevel;
import com.jrx.anytxn.customer.entity.CmCustomerLabel;
import com.jrx.anytxn.customer.entity.CmCustomerSecondLevel;
import com.jrx.anytxn.sharding.pojo.entity.CacheMapping;

import java.util.ArrayList;
import java.util.List;

/**
 * 客户建档操作bean
 *
 * @author qingyao.xing
 * @version 1.0
 * @date 2019/10/30
 */
public class CustomerInfoCreationBean {

    /**
     * 源信息
     */
    private CustomerSupplyReq customerSupplyReq;

    /*
     * 要修改的客户一级信息
     */
    private CmCustomerFirstLevel modifyCmCustomerFirstLevel;

    /*
     * 要新增的一级信息
     */
    private CmCustomerFirstLevel addCmCustomerFirstLevel;
    /*
     * 要修改的二级信息
     */
    private CmCustomerSecondLevel modifyCmCustomerSecondLevel;
    /*
     *要新增的一级信息
     */
    private CmCustomerSecondLevel addCmCustomerSecondLevel;
    /*
     * 地址信息添加集合
     */
    private List<CmCustomerAddressInfo> addCmCustomerAddressList;
    /*
     * 联系人信息添加集合
     */
    private List<CmCustomerContactInfo> addCmCustomerContactList;

    /*
     * 注册/修改 ecif一级档（全量信息）
     */
    private CmCustomerFirstLevel ecifCmCustomerFirstLevel;

    /*
     * 注册/修改 ecif二级档（全量信息）
     */
    private CmCustomerSecondLevel ecifCmCustomerSecondLevel;
    /*
     * 创建添加路由
     */
    private CacheMapping cacheMapping;

    private String customerId;

    private String tenantId;

    private String orgId;

    private String channel;

    private String mobile;

    private String idIssueAgent;

    private String idEffectiveDate;

    private String homePhone;

    private String companyName;

    private String companyAttribute;

    private String companyPhone;

    private String ecifUpdate;

    private List<CmCustomerLabel> customerLabelList;

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public CmCustomerFirstLevel getModifyCmCustomerFirstLevel() {
        return modifyCmCustomerFirstLevel;
    }

    public void setModifyCmCustomerFirstLevel(CmCustomerFirstLevel modifyCmCustomerFirstLevel) {
        this.modifyCmCustomerFirstLevel = modifyCmCustomerFirstLevel;
    }

    public CmCustomerFirstLevel getAddCmCustomerFirstLevel() {
        return addCmCustomerFirstLevel;
    }

    public void setAddCmCustomerFirstLevel(CmCustomerFirstLevel addCmCustomerFirstLevel) {
        this.addCmCustomerFirstLevel = addCmCustomerFirstLevel;
    }

    public CmCustomerSecondLevel getModifyCmCustomerSecondLevel() {
        return modifyCmCustomerSecondLevel;
    }

    public void setModifyCmCustomerSecondLevel(CmCustomerSecondLevel modifyCmCustomerSecondLevel) {
        this.modifyCmCustomerSecondLevel = modifyCmCustomerSecondLevel;
    }

    public CmCustomerSecondLevel getAddCmCustomerSecondLevel() {
        return addCmCustomerSecondLevel;
    }

    public void setAddCmCustomerSecondLevel(CmCustomerSecondLevel addCmCustomerSecondLevel) {
        this.addCmCustomerSecondLevel = addCmCustomerSecondLevel;
    }

    public List<CmCustomerAddressInfo> getAddCmCustomerAddressList() {
        return addCmCustomerAddressList;
    }

    public void setAddCmCustomerAddressList(List<CmCustomerAddressInfo> addCmCustomerAddressList) {
        this.addCmCustomerAddressList = addCmCustomerAddressList;
    }

    public List<CmCustomerContactInfo> getAddCmCustomerContactList() {
        return addCmCustomerContactList;
    }

    public void setAddCmCustomerContactList(List<CmCustomerContactInfo> addCmCustomerContactList) {
        this.addCmCustomerContactList = addCmCustomerContactList;
    }

    public CacheMapping getCacheMapping() {
        return cacheMapping;
    }

    public void setCacheMapping(CacheMapping cacheMapping) {
        this.cacheMapping = cacheMapping;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getIdIssueAgent() {
        return idIssueAgent;
    }

    public void setIdIssueAgent(String idIssueAgent) {
        this.idIssueAgent = idIssueAgent;
    }

    public String getIdEffectiveDate() {
        return idEffectiveDate;
    }

    public void setIdEffectiveDate(String idEffectiveDate) {
        this.idEffectiveDate = idEffectiveDate;
    }

    public String getHomePhone() {
        return homePhone;
    }

    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyAttribute() {
        return companyAttribute;
    }

    public void setCompanyAttribute(String companyAttribute) {
        this.companyAttribute = companyAttribute;
    }

    public String getCompanyPhone() {
        return companyPhone;
    }

    public void setCompanyPhone(String companyPhone) {
        this.companyPhone = companyPhone;
    }

    public String getEcifUpdate() {
        return ecifUpdate;
    }

    public void setEcifUpdate(String ecifUpdate) {
        this.ecifUpdate = ecifUpdate;
    }

    public CmCustomerFirstLevel getEcifCmCustomerFirstLevel() {
        return ecifCmCustomerFirstLevel;
    }

    public void setEcifCmCustomerFirstLevel(CmCustomerFirstLevel ecifCmCustomerFirstLevel) {
        this.ecifCmCustomerFirstLevel = ecifCmCustomerFirstLevel;
    }

    public CmCustomerSecondLevel getEcifCmCustomerSecondLevel() {
        return ecifCmCustomerSecondLevel;
    }

    public void setEcifCmCustomerSecondLevel(CmCustomerSecondLevel ecifCmCustomerSecondLevel) {
        this.ecifCmCustomerSecondLevel = ecifCmCustomerSecondLevel;
    }

    public List<CmCustomerLabel> getCustomerLabelList() {
        return customerLabelList;
    }

    public void setCustomerLabelList(List<CmCustomerLabel> customerLabelList) {
        this.customerLabelList = customerLabelList;
    }

    public void addCustomerLabelList(List<CmCustomerLabel> customerLabelList){
        if(this.customerLabelList!=null){
            this.customerLabelList.addAll(customerLabelList);
        }else{
            this.customerLabelList = new ArrayList<>();
            this.customerLabelList.addAll(customerLabelList);
        }
    }

    public CustomerSupplyReq getCustomerSupplyReq() {
        return customerSupplyReq;
    }

    public void setCustomerSupplyReq(CustomerSupplyReq customerSupplyReq) {
        this.customerSupplyReq = customerSupplyReq;
    }
}